package com.tanhua.dubbo.api;

import com.tanhua.domain.mongo.Video;
import com.tanhua.domain.vo.PageResult;

import java.util.List;

/**
 * @author anshuai
 * @create 2021-02-02 15:31
 */
public interface VideoApi {

    /**
     * 保存小视频信息
     * @param video 小视频信息对象
     */
    String save(Video video);

    /**
     * 分页查询小视频列表
     * @param page 页码
     * @param pagesize 查询几条
     * @param userId 给谁推荐的
     * @return 小视频的分页查询结果
     */
    PageResult<Video> findVideoList(int page, int pagesize, long userId);

    /**
     * 小视频-关注用户
     * @param userId 用户id
     * @param followUserId 关注了谁
     */
    void followUser(Long userId,Long followUserId);

    /**
     * 小视频-取消关注
     * @param userId 用户id
     * @param followUserId 取关了谁
     */
    void disFollowUser(long userId, long followUserId);

    /**
     * 查询一条视频信息
     * @param videoId 视频id
     * @return
     */
    Video findById(String videoId);

    /**
     * 分页查询某一用户发布的视频列表
     * @param page 页码
     * @param pagesize 查询几条
     * @param uid 用户id
     * @return 分页查询结果
     */
    PageResult<Video> findVideoListByUid(int page, int pagesize, Long uid);

    /**
     * 根据大数据推荐字段vid查询视频列表
     * @param vidList vid集合
     * @return
     */
    List<Video> findVideoByVids(List<Long> vidList);
}
